package com.newtouch.bxzs.business.train.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.newtouch.bxzs.business.train.model.bo.CourseBO;
import com.newtouch.bxzs.common.base.model.UserCourse;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

/**
 * 用户课程Mapper类
 *
 * <p>
 * <b>History:</b>
 * <table border="1">
 * <tr>
 * <th>Date</th>
 * <th>Operator</th>
 * <th>Memo</th>
 * </tr>
 * <tr>
 * <td>2021/2/23 9:53</td>
 * <td>dingqianbin</td>
 * <td>Create</td>
 * </tr>
 * </table>
 *
 * @author dingqianbin
 * @version 1.0.0
 * @since 1.0.0
 */
@Mapper
public interface UserCourseMapper extends BaseMapper<UserCourse> {

    /**
     *用户课程信息分页数据分页查询
     *
     * @param page 分页数据
     * @param isLearningInsurance 1-我的课程，0-历史记录
     * @param userId 用户ID
     * @return 用户课程信息分页数据
     */
    IPage<CourseBO> selectUserCourse(@Param("page") Page<CourseBO> page, @Param("isLearningInsurance") Integer isLearningInsurance, @Param("userId") String userId);

    /**
     * 查询今日学习时长/总学习时长
     *
     * @param flag true-今日学习时长，false-总学习时长
     * @param userId 用户ID
     * @return 学习时长
     */
    Double selectDuration(@Param("flag") Boolean flag, @Param("userId") String userId);
}
